package com.yayun.merchant.service;

import com.yayun.merchant.domain.AuctionItem;
import com.yayun.merchant.domain.AuctionRecord;

import java.math.BigDecimal;
import java.util.List;

public interface IAuctionItemService {
    /**
     * 查询拍卖商品
     */
    public AuctionItem selectAuctionItemById(Long id);

    /**
     * 查询拍卖商品列表
     */
    public List<AuctionItem> selectAuctionItemList(AuctionItem auctionItem);

    /**
     * 新增拍卖商品
     */
    public int insertAuctionItem(AuctionItem auctionItem);

    /**
     * 修改拍卖商品
     */
    public int updateAuctionItem(AuctionItem auctionItem);

    /**
     * 批量删除拍卖商品
     */
    public int deleteAuctionItemByIds(Long[] ids);

    /**
     * 删除拍卖商品信息
     */
    public int deleteAuctionItemById(Long id);

    /**
     * 开始拍卖
     */
    public int startAuction(Long id);

    /**
     * 结束拍卖
     */
    public Long endAuction(Long id);

    /**
     * 取消拍卖
     */
    public int cancelAuction(Long id);

    /**
     * 查询进行中的拍卖
     */
    public List<AuctionItem> selectOngoingAuctions();

    /**
     * 查询即将开始的拍卖
     */
    public List<AuctionItem> selectUpcomingAuctions();

    /**
     * 查询需要结束的拍卖
     */
    public List<AuctionItem> selectEndingAuctions();

    /**
     * 参与竞拍
     */
    int placeBid(Long id, BigDecimal price);

    /**
     * 设置拍卖提醒
     */
    int setAuctionReminder(Long id);

    /**
     * 获取拍卖历史记录
     */
    List<AuctionRecord> getAuctionHistory(Long id);
} 